/*
题目描述：从后向前遍历链表
方法：
1. 使用栈
2. 使用递归(本质上就是一个栈结构)，当链表非常长的时候容易栈溢出
 */
class ListNode{
    int value;
    ListNode next;
    ListNode(int value){
        this.value = value;
    }
}

public class E6 {
    public static void main(String[] args){
        ListNode list = new ListNode(0);
        list.next = new ListNode(1);
        list.next.next = new ListNode(2);
        list.next.next.next = new ListNode(3);
        list.next.next.next.next = null;

        PrintListReversinglyRecursively(list);
    }
    //方法2
    private static void PrintListReversinglyRecursively(ListNode head){
        if(head != null){
            if(head.next != null){
                PrintListReversinglyRecursively(head.next);
            }
            System.out.println(head.value);
        }
    }
}
/*
3
2
1
0
 */
